Data sent across serial interfaces is grouped into packets. Typically, these packets contain a header and a payload. To detect errors (and perhaps repair them), a cyclic redundancy check (CRC) is calculated against an entire packet and added to the packet so a receiver can determine if the packet was corrupted in its transmission. Because the CRC is calculated using the entire packet (i.e. the header and the payload), it is usually added to the end of the packet. A CRC is an effective way to detect packet error and is in we use today.